/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ufps.cuatro.modelo.asistente.clase.vinculadora;

import com.ufps.cuatro.modelo.representacion.ObjetoTipoDatoReflexion;
import com.ufps.cuatro.util.wizard.ObjectTempSwapWizard;
import com.ufps.cuatro.util.wizard.UtilWizard;
import com.ufps.cuatro.util.wizard.WizardPanelDescriptor;
import com.ufps.cuatro.vistas.asistente.clase.vinculadora.JPanelWizardClaseVinculadoraFinish;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 *
 * @author Carlos A. Torres C. 
 */
public class JPanelWizardClaseVinculadoraFinishDescriptor extends WizardPanelDescriptor implements ActionListener {
    
    public static final String IDENTIFIER = "ONLY";
    private JPanelWizardClaseVinculadoraFinish objPanel;
    private ObjetoTipoDatoReflexion objTipoDato;
    
    public JPanelWizardClaseVinculadoraFinishDescriptor(ObjetoTipoDatoReflexion objTipoDato) {        
//       try{
            this.objTipoDato = objTipoDato;
            objPanel = new JPanelWizardClaseVinculadoraFinish(objTipoDato);
            objPanel.addCheckBoxActionListener(JPanelWizardClaseVinculadoraFinishDescriptor.this);
            setPanelDescriptorIdentifier(IDENTIFIER);
            setPanelComponent(objPanel);
//        }catch(java.lang.Exception ex){}
       
    }
    
    @Override
    public void displayingPanel() {             
    }
    
    @Override
    public Object getNextPanelDescriptor() {
        return JPanelWizardClaseVinculadoraFinishDescriptor.FINISH;
    }
    
    @Override
    public Object getBackPanelDescriptor() {
        return null;
    } 
    
    @Override
    public void aboutToDisplayPanel() {
//        try{
            setNextButtonAccordingToCheckBox();
//        }catch(java.lang.Exception ex){}
        
    }    
    
    public void actionPerformed(ActionEvent e) {
//        try{
            setNextButtonAccordingToCheckBox();
//        }catch(java.lang.Exception ex){}
        
    }            
    
    private void setNextButtonAccordingToCheckBox() {
         if (objPanel.isCheckBoxSelected()){
//             if(objPanel.isListEmpty() && objPanel.getObjMetodosAgregados().isEmpty()){
//                 UtilRender.msgAdvertencia("No puede generar un Componente Vacio.", objPanel);
//                 return;
//             }
             getWizard().setNextFinishButtonEnabled(true);
             procesarConfiguracion();
         }
         else{
             getWizard().setNextFinishButtonEnabled(false);             
         }           
    }     
    
    private void procesarConfiguracion() {   
        ObjectTempSwapWizard objSwap = new ObjectTempSwapWizard(UtilWizard.WIZARD_GENERADOR_VINCULADOR); 
        objSwap.setObj(objTipoDato);
        objSwap.add(ObjectTempSwapWizard.COLECCION, objPanel.getObjMetodosAgregados());
        UtilWizard.objTempSwap = objSwap;
        System.out.println("Configuración Procesada en el Objeto de Intercambio....");
    }
}
